/*给所有的input添加失去焦点事情
 1、判断input内的值是否为空
 若为空，显示不能为空的错误信息，return结束*（不用继续判断）
 input用正则 表达式匹配，若正确提示正确信息，若不匹配提示错误信息*/
var inputs=document.getElementsByTagName('input');
for (var i=0;i<inputs.length;i++){
	inputs[i].onblur=inputBlur;
}
//定义input失去焦点事件，判断内容是否为空，是否正确
function inputBlur(){
	//获取当前的input的name,value，提示信息
	var name=this.name;
	var value=this.value;
	var tips=this.placeholder;
	
	//获取显示正确或错误提示信息的div元素
	//根据当前input对象获取div；堂兄弟关系
	//根据当前input对象获取它的父亲--父亲的下一个兄弟--这个兄弟的第一个孩子
	
	var div=this.parentNode.nextElementSibling.firstChild;
	
	//去除value两端的空格
	value=value.trim();
	
	//判断当前input的value值，若为空，显示不能为空的错误信息，retur结束
	if(value==null|| value==''){
		div.innerHTML='输入框不能为空';
		//错误样式
		div.className='error';
	}else{
		//调用函数，根据当前input的name和tips，获得该input的正则表达式和提示信息
		var reg=getReg(name);
		//判断input值与正则表达式是否匹配
		if(value.match(reg)){
			div.innerHTML='输入正确';
			div.className='success'
		}else{
			div.innerHTML=tips;
			//错误样式
			div.className='error'
		}
	}
}
//定义函数:input值与正则表达式匹配
//参数：name,tips
//返回值：正则表达式，提示信息
function getReg(name){
	var reg='';
	switch(name){
		//长度4~12，英文大小写字母
		case 'username':
		reg=/^[a-zA-Z]{4,12}$/;
		break;
		
		//长度6~20 大小写字母、数字或下划线
		case 'pwd':
		reg=/^\w{6,20}$/;;
		break;
		
		//正则表达式内容是 密码输入框的值
		case 'repwd':
		//密码输入框的值
		var pwd=document.getElementsByTagName('input')[1].value;
		
		reg=new RegExp('^'+pwd+'$');
		break;
		
		//13、14、15、17、18开头的11位手机号
		case 'tel':
		reg=/^1[34578]\d{9}$/;
		break;
		
		//用户@域名（域名后缀至少2个字符）
		//第一部分：由字母、数字、下划线、短线 点号组成
		//第二部分：分一个域名，域名由字母、数字、短线、域名后缀组成
		//而域名后缀至少2位
		case 'email':
		reg=/^(\w(\-|,\.)*)+@+(\w+(\-)?)+(\.\w{2,})$/;
		break;
		
		default:
		  break;
	}
	return reg;
}
